package cn.edu.imau.zy.examination.controller;

import cn.edu.imau.zy.common.core.entity.system.Districts;
import cn.edu.imau.zy.common.utils.poi.ExcelUtil;
import cn.edu.imau.zy.examination.domain.ElQu;
import cn.edu.imau.zy.examination.domain.ElRepo;
import cn.edu.imau.zy.examination.service.IElQuRepoService;
import cn.edu.imau.zy.examination.service.IElQuService;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jta.atomikos.AtomikosXADataSourceWrapper;
import org.springframework.web.bind.annotation.*;
import cn.edu.imau.zy.common.annotation.LoginUser;
import cn.edu.imau.zy.common.core.entity.system.SysUser;
import cn.edu.imau.zy.common.core.domain.R;
import cn.edu.imau.zy.common.core.controller.BaseController;

import java.util.List;
import java.util.Map;

/**
 * 问题题目 提供者
 * 
 * @author xsc
 * @date 2021-05-08
 */
@RestController
@RequestMapping("elqu")
public class ElQuController extends BaseController
{
	
	@Autowired
	private IElQuService elQuService;

	@Autowired
	private IElQuRepoService quRepoService;
	
	/**
	 * 查询${tableComment}
	 */
	@GetMapping("get/{id}")
	public ElQu get(@PathVariable("id") String id)
	{
		return elQuService.infoElQu(id);
	}

	@GetMapping("noCorrect/{id}")
	public ElQu noCorrectElQu(@PathVariable("id") String id){
		return elQuService.noCorrectElQu(id);
	}




	/**
	 * 查询问题题目列表
	 */
	@GetMapping("list")
	public R list(@RequestParam Map<String,Object> elQu)
	{
		startPage();
        return result(elQuService.queryList(elQu));
	}
	
	
	/**
	 * 新增保存问题题目
	 */
	@PostMapping("save")
	public R addSave(@RequestBody ElQu elQu)
	{
		System.out.println(elQu);
		return toAjax(elQuService.saveQu(elQu));
	}

	/**
	 * 修改保存问题题目
	 */
	@PostMapping("update")
	public R editSave(@RequestBody ElQu elQu)
	{
//		LambdaQueryWrapper<ElQu> queryWrapper = Wrappers.lambdaQuery();
//		queryWrapper.eq(ElQu::getId,elQu.getId());
//
//		return toAjax(elQuService.update(elQu,queryWrapper));
		return toAjax(elQuService.upElQu(elQu));
	}
	
	/**
	 * 删除${tableComment}
	 */
	@PostMapping("remove")
	public R remove(String ids)
	{		
		return toAjax(elQuService.removeById(ids));
	}



	//题库导出
	//	@HasPermissions("system:districts:export")
	@PostMapping("/repoExport")
	public R export(String rid)
	{
		// 题库id
		System.out.println(rid);
		quRepoService.query().eq("repo_id",rid);

		List<ElQu> list = elQuService.list();
		for (ElQu elQu : list){
			System.out.println(elQu.getEl().toString());
		}

		ExcelUtil<ElQu> util = new ExcelUtil<ElQu>(ElQu.class);
		return util.exportExcel(list, "题库表");
	}
}
